// Para poder visualizar el siguiente ejemplo, hemos de conectar 3 interruptores en las entradas 0, 1, 2 de el MUX0 (Recordar que si no montamos un antirebotes puede que las lecturas nos engañen).

// Incluimos la libreria para poder trabajar con ella

#include <MuxShield.h>

Mux mux = Mux(); // Iniciamos el objeto mux para poder utilizarlo

void setup(){
  mux.control(); // Esto se encarga de configurar las lineas de control de los MUX para su utilizacion.
  Serial.begin(9600);
}

void loop(){
// Para trabajar con la I/O su sintaxis es: OBJETO.io(String FunSignal, int LineSignal, int ActivePin, int Activate)
// En este caso como es entrada digital, la sintaxis es: mux.io(
// "DI"(<- Para entrada digital),
// 0(<- Especifica el MUX a utilizar, en este caso MUX0 de la placa),
// 0(<- Especifica la entrada del MUX, en este caso es la 0),
// 1(<- Especifica si Activamos (1) o de Desactivamos (0),
// );
  mux.io("DI", 0, 0, 1);
  Serial.print("Lectura de entrada 0 de MUX0: ");
  Serial.println(mux.lecturadigital(0)); // La funcion mux.lecturadigital nos capturara lo que ese MUX0 lee en ese momento, se especifica el numero de MUX.
  delay(1000);
  mux.io("DI", 0, 0, 0);
  delay(1000);
  mux.io("DI", 0, 1, 1);
  Serial.print("Lectura de entrada 1 de MUX0: ");
  Serial.println(mux.lecturadigital(0));
  delay(1000);
  mux.io("DI", 0, 1, 0);
  delay(1000);
  mux.io("DI", 0, 2, 1);
  Serial.print("Lectura de entrada 2 de MUX0: ");
  Serial.println(mux.lecturadigital(0));
  Serial.println("");
  delay(1000);
  mux.io("DI", 0, 2, 0);
  delay(1000);
}

